package br.gov.sjc.dao;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import br.gov.sjc.classes.Beneficio;

public class BeneficioDAO {
	private SQLiteDatabase database;
    private BaseDAO dbHelper;
    
  //Campos da tabela
	private static final String[] COLS = {"_id", "SiasN", "Cidadao", 
		"Programa","Ano","Situacao"};
	
	/**
	 * Constructor
	 */
	public BeneficioDAO(Context context) {
		dbHelper = new BaseDAO(context);
	}
    public void open() throws SQLException {
        database = dbHelper.getWritableDatabase();
    }
    public void close() {
        dbHelper.close();
    }
	public long inserir(Beneficio beneficio){
		ContentValues valores = new ContentValues();
		valores.put(BaseDAO.BENEFICIO_SIASN, String.valueOf(beneficio.getSiasN()));
		valores.put(BaseDAO.BENEFICIO_CIDADAO, String.valueOf(beneficio.getCidadao()));
		valores.put(BaseDAO.BENEFICIO_PROGRAMA, beneficio.getPrograma());
		valores.put(BaseDAO.BENEFICIO_ANO, beneficio.getAno());
		valores.put(BaseDAO.BENEFICIO_SITUACAO, beneficio.getSituacao());
		
		return database.insert(BaseDAO.TBL_BENEFICIO, null, valores);
	}
	public int alterar(Beneficio beneficio) {
		long id = beneficio.get_id();
		ContentValues valores = new ContentValues();
		
		valores.put("SiasN", String.valueOf(beneficio.getSiasN()));
		valores.put("Cidadao", String.valueOf(beneficio.getCidadao()));
		valores.put("Programa", beneficio.getPrograma());
		valores.put("Ano", beneficio.getAno());
		valores.put("Situacao", beneficio.getSituacao());
		
		return database.update(BaseDAO.TBL_TRABALHO, valores, BaseDAO.TRABALHO_ID + "="+ id, null);
		
	}
	
	   public void Excluir(Beneficio pValue) {
	        long id = pValue.get_id();
	         
	        //Exclui o registro com base no ID
	        database.delete(BaseDAO.TBL_BENEFICIO,BaseDAO.BENEFICIO_ID+" = " + id, null);
	    }
	   
		public List<Beneficio> Consultar(int SiasN){
			List<Beneficio> lista = new ArrayList<Beneficio>();
			
			//Consulta para trazer todos os dados de cada membro da tabela _____ ordenados pela coluna ______ 
	        Cursor cursor = database.query(BaseDAO.TBL_BENEFICIO, COLS, 
	        		"SiasN=?", new String[]{""+SiasN}, null, null, BaseDAO.TRABALHO_SIASN);
	        cursor.moveToFirst();
			//Cursor c = getWritableDatabase().query(TABELA, COLS, "SiasN=? AND idMembro=?", new String[]{""+SiasN,""+idMembro}, null, null, null);
	        while (!cursor.isAfterLast()) {
	        	Beneficio lBeneficio = cursorToBeneficio(cursor);
	        	lista.add(lBeneficio);
	            cursor.moveToNext();
	        }

			cursor.close();
			return lista;
		}
		//Converter o Cursor de dados no objeto POJO ContatoVO
	    private Beneficio cursorToBeneficio(Cursor cursor) {
	    	Beneficio lBeneficio = new Beneficio();
	    	lBeneficio.set_id(cursor.getInt(0));
	    	lBeneficio.setSiasN(cursor.getInt(1));
	    	lBeneficio.setCidadao(cursor.getString(2));
	    	lBeneficio.setPrograma(cursor.getString(3));
	    	lBeneficio.setAno(cursor.getString(4));
	    	lBeneficio.setSituacao(cursor.getString(5));
	    	return lBeneficio;
	    }

}
